The use of a hand operated pointing device for use with a computer and its display has become almost universal. One form of the various types of pointing devices is the conventional (mechanical) mouse, used in conjunction with a cooperating mouse pad. Mechanical mice typically include a rubber-surfaced steel ball that rolls over the mouse pad as the mouse is moved. Interior to the mouse are rollers, or wheels, that contact the ball at its equator and convert its rotation into electrical signals representing orthogonal components of mouse motion. These electrical signals are coupled to a computer, where software responds to the signals to change by a ΔX and a ΔY the displayed position of a pointer (cursor) in accordance with movement of the mouse.
In addition to mechanical types of pointing devices, such as a conventional mechanical mouse, optical pointing devices have also been developed. In one form of an optical pointing device, relative movement between a navigation surface, such as a finger or a desktop, and an image sensor within the optical pointing device is optically sensed and converted into movement information. A light source illuminates the navigation surface which produces reflected images received by the image sensor for sensing the relative movement. Light sources can be non-coherent light sources or partially coherent lights sources.
Electronic image sensors, such as those typically used in optical pointing devices, are predominantly of two types: Charge Coupled Devices (CCDs) and Complimentary Metal Oxide Semiconductor—Active Pixel Sensors (CMOS—APS). Both types of sensors typically contain an array of photodetectors (e.g., pixels), arranged in a pattern. Each individual photodetector operates to output a signal with a magnitude that is proportional to the intensity of light incident on the site of the photodetector. These output signals can then be subsequently processed and manipulated to generate an image that includes a plurality of individual picture elements (pixels), wherein each pixel in the image corresponds with one of the photodetectors in the image sensor.
Tracking relative movement between the image sensor and the navigation surface is based on comparing these generated images over time using correlation algorithms. Changes in light intensity as measured at each pixel location for successive generated images during the ongoing motion reveal the quantity and direction of movement. Accordingly, as the image sensor moves over the navigation surface, these intensity modulations are constantly fluctuating and these varied intensity modulations provide the information to guide the pointer on the computer.
However, these optical pointing devices typically are sensitive to fixed pattern noise, which is an intensity modulation in a generated or captured image that does not change as the image sensor is moved. This fixed pattern noise, then does not result from the relative movement between navigation surface and the image sensor. Instead, fixed pattern noise results from defective pixels in the image sensor, particle contamination, and/or non-uniformities in the light sources. This fixed pattern noise interferes with determining movement of the image sensor relative to the navigation surface since this portion of the generated images does not change over time. Accordingly, highly accurate tracking of this relative movement requires eliminating or compensating for this fixed pattern noise.
Digital image sensors can be one source of fixed pattern noise, as digital image sensors often contain a few defective pixels from fabrication errors, such as impurity contamination like a defect in silicon. Defective pixels respond inappropriately to the incident light, and therefore produce inaccurate sensor values observed as fixed pattern noise in the captured image. Defective pixels are predominantly of three types: stuck high, stuck low, or abnormal sensitivity. A stuck high pixel has a very high or near to full scale output, while a stuck low pixel has a very low or near to zero output. An abnormal sensitivity pixel produces a sensor value different from neighboring pixels by more than a certain amount when exposed to the same light conditions. If the image sensor of an optical pointing device contains defective pixels, such as stuck high or stuck low pixels, the values from these pixels may never change, which biases the navigation computation and can cause errors. The values from abnormal sensitivity pixels may change, but such pixels do not perform as expected and can also cause errors.
Other conditions arising after the manufacturing process and during use by a customer can also cause some pixels to sometimes act like defective pixels, thereby producing fixed pattern noise. External particle contamination, such as dust or dirt, fibers, etc., can land on the array, blocking some pixels of the photoarray causing them to act as defective pixels. Dust or dirt can also land on the illumination source or focusing optics, causing non-uniformities in illumination of the navigation surface, which ultimately leads to pixels in the generated image to act like defective pixels. Finally, optical pointing devices including coherent light sources are more susceptible to errors from fixed pattern noise than optical pointing devices having non-coherent light sources.
In addition, non-uniformities in the light source itself, independent of particle contamination, can also cause some pixels of the photodetector array to appear too “dark”, thereby acting as defective pixels and producing fixed pattern noise. This situation can produce special constraints on the type of laser used and it's packaging in order to achieve relatively clean Gaussian beams. Special packaging cans and high performance laser sources, in turn, increase the cost of the optical pointing devices. Even with these higher cost light sources, these optical pointing device may still be sensitive to defective pixels in the image sensor and/or particle contamination.
For these reasons, fixed pattern noise in optical navigation continues to pose challenges.